package com.lingjtx.common.security.annotation;

import com.lingjtx.common.core.constant.RedisConfig;

import java.lang.annotation.*;

@Documented
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
public @interface ApiLimited {

    /**
     * 同一个用户多长时间不能再访问
     * @return 单位秒
     */
    long delay() default 0;

    /**
     * 限制次数
     *
     * @return true 受限制次数；false:无限制
     */
    boolean limited() default false;

    int count() default RedisConfig.REQUEST_COUNT;

    /**
     * limited() 为 true的时候，限制次数有效期
     * 多长时间内访问多少次
     */
    long limitedExpire() default RedisConfig.LIMITED_EXPIRE_TIME;
}
